import router from "@/router";
import store from '@/store'
// import store from "@/store";
/**
 * 创建全局前置导航守卫beforeEach
 *  to: 即将要进入的目标
 *  from: 当前导航正要离开的路由
 *  next: 函数 next()
 *        是否继续向下执行
 *
 *    登录身份认证
 *       登录成功之后才能访问主界面或其它需要身份认证的页面资源
 *
 *      1. 在全局前置导航守卫beforeEach 处理登录身份认证
 *      2. 判断是否登录,如果登录放行next()到跳转到路由页面
 *           2.1 如何判断是否登录成功, 通过Token判断
 *      3. 处理不需要登录身份认证的路由
 *          3.1拿到当前路由信息/login, /
 *          3.2 白名单 []
 */
//  router.beforeEach((to, from, next) => {
//      console.log('to ',to);
//      let isRequireAuth = to.matched.some(item=>item.meta.requireAuth)
//      console.log('isRequireAuth ',isRequireAuth);
//      if(isRequireAuth){
//        next('/login')
//      }else{
//        next()
//      }
//  })

router.beforeEach((to, from, next) => {
  // 白名单, 不需要登录认证的路由
  let whiteArry = ["/login", "/register","/"];
  // 当前路由
  if (whiteArry.indexOf(to.path) !== -1) {
    // console.log("白名单, 不需要登录认证的路由");
    next(); //放行
    return;
  }

  // 登录身份认证
  // let token = localStorage.getItem("Token");
  //vuex 存储数据管理
  let token = store.getters.token;
  // console.log("token ", token);
  if (token) {
    //已经登录
    next();
  } else {
    // next("/login?redirect=1");
    next("/login");
  }
});

// router.afterEach((to, from) => {
//   console.log("afterEach >>> ");
// });
